package org.example.admin.manage.service;

import org.example.commons.entity.SysAdmin;
import org.example.commons.entity.SysUser;
import org.example.commons.service.IBaseService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.Date;
import java.util.List;


public interface SysAdminService  extends IBaseService<SysAdmin> {
    List<SysAdmin> findByAdminIdIn(Long[] ids);
    /**
     * 根据openid查询管理员
     * @param openid 微信openid
     * @return 管理员
     */
    SysAdmin findByOpenid(String openid);

    /**
     * 根据电话查询管理员 用于检查人员的微信小程序端登录
     * @param phone 管理员电话
     * @return 检查管理员
     */
    SysAdmin findByPhone(String phone);

    /**
     * 根据name查询管理员 用于前台登录管理员账号
     * @param name 管理员姓名
     * @return 检查管理员
     */
    SysAdmin findByName(String name);

    /**
     * 批量删除admin
     * @param ids adminIds
     */
    void deleteByAdminIdIn(Long[] ids);

    /**
     * 通过名字或者电话或者创建时间模糊查询
     * @return
     */
    Page<SysAdmin> searchList(String name, String phone,Integer status, Date[] dates, Pageable pageable);

    String getPassword(Long id);
    void setPassword(Long id, String password);

}
